#ifndef __MATERIAL_H__
#define __MATERIAL_H__

#include "IMaterial.h"

namespace steam
{
	namespace coal
	{
		class Material : public IMaterial
		{
		public:

			std::string getMaterialName() const;

			Color3f getDiffuseColor() const;

			Color3f getSpecularColro() const;

			Color3f getAmbientColor() const;

			std::string getDiffuseTexture() const;

			std::string getSpecularTexture() const;

			std::string getAmbientTexture() const;

			void setMaterialName(std::string name);

			void setDiffuseColor(Color3f color);

			void setSpecularColor(Color3f color);

			void setAmbientColor(Color3f color);

			void setDiffuseTexture(std::string file);

			void setSpecularTexture(std::string file);

			void setAmbientTexture(std::string file);

		private:

			std::string m_materialName;

			Color3f m_diffuse;

			Color3f m_specular;

			Color3f m_ambient;

			std::string m_diffuseTexture;

			std::string m_specularTexture;

			std::string m_ambientTexture;

		};

	}
}

#endif